package livro.telefone.beans;

import java.util.ArrayList;

public class Operadora {
	
	private String nome;
	private ArrayList<Plano> planos;
	private ArrayList<Cliente> clientes;

    public Operadora(String nome){
		
		planos = new ArrayList<Plano>();
		clientes = new ArrayList<Cliente>();
		this.nome = nome;
		
	}
    
    public boolean removeCliente(Cliente cliente){
    	
    	boolean result;
    	result = clientes.remove(cliente);
    	if(result && cliente.getOperadoras().contains(this)) 		
    		cliente.removeOperadora(this);
    	return result;
   
    	
    }
	
	public ArrayList<Plano> getPlanos(){
		return planos;
	}
	
	public ArrayList<Plano> getPlanosNaoModificavel(){
		
		ArrayList<Plano> newPlanos = new ArrayList<Plano>();
		for(Plano plano : getPlanos()){
			
			newPlanos.add(new Plano(plano));
			
		}
		
		return newPlanos;
		
	}
	
	public int getQuantidadePlanos(){
		
		return planos.size();
		
	}
	
	public void adicionarPlano(Plano plano){
		
		planos.add(plano);
		
	}
	
	public void adicionarCliente(Cliente cliente){
		
		if(!clientes.contains(cliente))
			clientes.add(cliente);
		
		if(!cliente.getOperadoras().contains(this))
			cliente.adicionarOperadora(this);
		
	}
	
	public ArrayList<Cliente> getClientes(){
		
		return clientes;
		
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}
	
}
